#ifndef _COLLISIONMODEL_
#define _COLLISIONMODEL_

#include "Vector3d.hpp"

//TODO: make subclasses for box and sphere collision model

class CollisionModel
{
public:
	CollisionModel(Vector3f min=Vector3f(), Vector3f max=Vector3f());

	static bool CheckCollision(	const CollisionModel& CM1, Vector3f Pos1,
								const CollisionModel& CM2, Vector3f Pos2);

	///returns the normal on CM2, where CM1 will hit it first
	///carefull: The normal may point in the wrong direction!
	static Vector3f CollisionNormal(	const CollisionModel& CM1, Vector3f Pos1, Vector3f Vel1,
										const CollisionModel& CM2, Vector3f Pos2);

	virtual void Render(Vector3f Position);


	Vector3f min, max;
private:
};
#endif // _COLLISIONMODEL_
